In computer networks, a proxy server is a server (a computer system or an application) that can act on behalf of clients seeking resources from other servers. A client connects to the proxy server, requesting some service, such as a file, connection, web page, or other resource available from a different server. The proxy server evaluates the request as a way to simplify and control its complexity. Today, most proxies are web proxies, facilitating access to content on the World Wide Web and providing anonymity.
Although proxy servers can provide utility, the use of proxy server can sometimes be cumbersome. The diversion or interception of a transport control protocol (TCP) connection can create issues. For example, it might not be possible to communicate, to a proxy, an original destination Internet Protocol (IP) address and port if a gateway and a proxy reside on different hosts. Further, the user of a proxy server still requires an access to the Internet, which may not always be possible or optimal.